home *** CD-ROM | disk | FTP | other *** search
- .KEY DIAL,USER/K,HOSTNAME/K,POPHOST/K,FORCE/S,SAFER/S,INETD/S,RESET/S,POPONLY/S,STACKONLY/S,EXIT/S,DEBUG/S,TCPARGS/K/F
- .BRA {
- .KET }
- .DEF DIAL new
- .DEF USER joe
- .DEF HOSTNAME localhost
- .DEF POPHOST mail.{DIAL}.nl
-
- ; $VER: startnet 1.9 (10.11.97) multi-provider, interactive password, etc, etc, etc.
-
- ; **** command line arguments ****************************
- ; * *
- ; * DIAL/K ... postfix for DIAL and POPARGS files *
- ; * USER/K ... Amiga login name *
- ; * HOSTNAME/K ... local hostname *
- ; * POPHOST/K ... AmiPOP POPHost *
- ; * FORCE/S ... force enter new password *
- ; * SAFER/S ... delete password after use *
- ; * INETD/S ... Start the internet `super server' *
- ; * RESET/S ... Send RESET to AmiTCP *
- ; * POPONLY/S ... (re)start AmiPOP *
- ; * STACKONLY/S ... start TCP/IP stack, nothing else *
- ; * EXIT/S ... abort shell after use *
- ; * DEBUG/S ... type the DIALSTRING, nothing else *
- ; * TCPARGS/K/F ... optional AmiTCP argument(s) *
- ; * *
- ; ********************************************************
-
- ;--- Login on Amiga
- If "$USER" EQ "*$USER"
- Echo "login: {USER}"
- EndIf
- login -f {USER}
- umask 022
-
- If {STACKONLY}
- Skip StartTCP
- EndIf
-
- ;--- check DIAL exist
- If "${DIAL}DIAL" EQ "*${DIAL}DIAL"
- Echo "DIAL *"{DIAL}*" not found"
- Skip Cleanup
- EndIf
-
- ;--- Ask for password
- If {FORCE}
- FileNote >NIL: ENV:{DIAL}DIAL "" ; delete old password
- EndIf
- If "`List ENV:{DIAL}DIAL LFORMAT %C`" NOT EQ "NOPASSWORD"
- If "`List ENV:{DIAL}DIAL LFORMAT %C`" EQ ""
- Echo "*N{DIAL} password: *E[40;30m" NOLINE
- FileNote >NIL: ENV:{DIAL}DIAL ?
- Echo "*E[40;31m"
- EndIf
- EndIf
-
- If {POPONLY}
- Skip StartPOP
- EndIf
-
- ;--- make dialscript
- If "`List ENV:{DIAL}DIAL LFORMAT %C`" EQ "NOPASSWORD"
- Echo "${DIAL}DIAL" TO T:DIALSCRIPT
- Else
- List TO T:DIALSCRIPT ENV:{DIAL}DIAL LFORMAT "TIMEOUT 1500*NREDIAL BUSY*NREDIALDELAY 50*N${DIAL}DIAL %C"
- EndIf
- If "${DIAL}DIAL2" NOT EQ "*${DIAL}DIAL2"
- Echo >>T:DIALSCRIPT "${DIAL}DIAL2"
- EndIf
-
- If {DEBUG}
- Type T:DIALSCRIPT NUMBER
- Skip Cleanup
- EndIf
-
- ;--- Start TCP/IP stack
- Lab StartTCP
- If "$HOSTNAME" NOT EQ "*$HOSTNAME"
- Echo "net still running"
- Skip Cleanup
- EndIf
-
- Assign >NIL: TCP: EXISTS
- If WARN
- AmiTCP:AmiTCP {TCPARGS} ; Start AmiTCP
- WaitForPort AMITCP
- Mount TCP: FROM AmiTCP:Devs/Inet-Mountlist
- Else
- If {RESET}
- rx "address AMITCP; RESET" ; Send "RESET" to AmiTCP
- EndIf
- EndIf
-
- ;--- Configure loop-back device
- ifconfig lo0 {HOSTNAME}
-
- If {STACKONLY}
- Skip SetHostName
- EndIf
-
- ;--- connect
- FailAt 21
- online ppp0
- If ERROR
- FailAt 10
- Echo "ppp0 not connected to DIAL *"{DIAL}*""
- Skip Cleanup
- EndIf
- FailAt 10
-
- ifconfig ppp0 $ppp0IPLocal $ppp0IPRemote ; Configure ppp0
-
- route >NIL: add $ppp0IPLocal {HOSTNAME} ; Add route to this host
-
- route >NIL: add default $ppp0IPRemote ; Add route to the default gateway
-
- ;--- Start AmiPOP
- Lab StartPOP
- If "${DIAL}POPARGS" EQ "*${DIAL}POPARGS"
- If {POPONLY}
- Echo "no POPARGS for DIAL *"{DIAL}*""
- EndIf
- Else
- If {DEBUG}
- Echo "POPARGS: Password=`List ENV:{DIAL}DIAL LFORMAT %C` ${DIAL}POPARGS POPHost={POPHOST} MailBox=HOME:{DIAL}.mbox Port=110 CX_Popkey=*"ctrl lalt '*" WinX=50 WinY=50"
- Else
- Run >NIL: AmiPOP Password=`List ENV:{DIAL}DIAL LFORMAT %C` ${DIAL}POPARGS POPHost={POPHOST} MailBox=HOME:{DIAL}.mbox Port=110 CX_Popkey="ctrl lalt '" WinX=50 WinY=50
- EndIf
- EndIf
- If {POPONLY}
- Skip Cleanup
- EndIf
-
- Lab SetHostName
- If {STACKONLY}
- rx "address AMITCP; SET HOSTNAME '{HOSTNAME}'"
- Else
- rx "address AMITCP; SET HOSTNAME Word('`resolve $ppp0IPLocal`',3)"
- EndIf
- SetEnv HOSTNAME `hostname`
-
- ;--- Start servers
- If {INETD}
- If NOT "`Status COM=inetd'"
- Echo "super server allready running"
- Else
- Run >NIL: inetd ; Start the internet `super server'
- EndIf
- If NOT "`Status COM=aws:aws'"
- Echo "web server allready running"
- Else
- Run >NIL: aws:aws ; Start the web server
- EndIf
- EndIf
-
- Lab Cleanup
-
- Delete >NIL: T:DIALSCRIPT ;remove dialscript
-
- If {SAFER}
- FileNote ENV:{DIAL}DIAL "" ; remove password
- EndIf
-
- If {EXIT}
- EndCLI >NIL: ; remove shell
- EndIf
-
- Unset TCPNEW
-